System and method for targeted tuning of a speech recognition system

ABSTRACT

A system and method of targeted tuning of a speech recognition system are disclosed. A particular method includes detecting that a frequency of occurrence of a particular type of utterance satisfies a threshold. The method further includes tuning a speech recognition system with respect to the particular type of utterance.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims priority from and is a continuation of U.S. patent application Ser. No. 13/760,897, filed on Feb. 6, 2013 and entitled “System and Method for Targeted Tuning of a Speech Recognition System,” which claims priority from and is a continuation of U.S. patent application Ser. No. 12/503,586, filed on Jul. 15, 2009 and entitled “System and Method for Targeted Tuning of a Speech Recognition System,” now issued as U.S. Pat. No. 8,401,851, which claims priority from and is a continuation of U.S. patent application Ser. No. 10/917,233 filed on Aug. 12, 2004 and entitled “System and Method for Targeted Tuning of a Speech Recognition System,” now issued as U.S. Pat. No. 7,580,837, each of which is incorporated herein by reference in its entirety.

FIELD OF THE DISCLOSURE

The present disclosure relates to a system and method of targeted tuning of a speech recognition system.

BACKGROUND

Many speech solutions, such as speech-enabled applications and speech recognition systems, utilize a computing device to “listen” to a user utterance and to interpret that utterance. Depending upon design considerations, a speech solution may be tasked with accurately recognizing a single user's utterances. For example, a dictation-focused solution may need to be highly accurate and tuned to a given user. In other applications, a system designer may want a speech solution to be speaker-independent and to recognize the speech of different users, provided the users are speaking in the language the application is designed to process and the users are uttering phrases associated with the application.

In practice, a user utterance may be “heard” by a computing device and may be broken into pieces. Individual sounds and/or a collection of individual sounds may be identified and matched to a predefined list of sounds, words, and/or phrases. The complex nature of translating raw audio into discrete pieces and matching the audio to a pre-defined profile often involves a great deal of signal processing and may, in some instances, be performed by a speech recognition (SR) engine executing on a computing system.

While SR engines may be relatively accurate, these engines and other speech solution components often require tuning. In practice, a system's recognition rate at implementation may be unacceptably low. This recognition rate may be improved through tuning. However, conventional approaches to tuning may be costly. Moreover, the effectiveness of conventional tuning approaches is often difficult to quantify and predict.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 presents a flow diagram for providing targeted speech solution tuning in accordance with the teachings of the present disclosure;

FIG. 2 shows one embodiment of a speech-enabled system that incorporates teachings of the present disclosure; and

FIG. 3 presents a high-level block diagram of a speech-enabled system incorporating a training tool in accordance with the teachings of the present disclosure.

DETAILED DESCRIPTION

A system and method of targeted tuning of a speech recognition system are disclosed. In a particular embodiment, a method includes determining a frequency of occurrence of a particular type of utterance method and includes determining whether the frequency of occurrence exceeds a threshold. The method further includes tuning a speech recognition system to improve recognition of the particular type of utterance when the frequency of occurrence of the particular type of utterance exceeds the threshold.

Another particular embodiment discloses a speech recognition system that includes a speech module to assign an utterance type to a received utterance. The speech recognition system includes a targeting engine to compare a frequency of occurrence of the utterance type to a threshold. A tuning engine tunes the speech module to improve recognition of the utterance type when the frequency of occurrence of the utterance type exceeds the threshold.

Another particular embodiment discloses a computer readable storage medium including instructions that, when executed by a processor, cause the processor to tune a speech recognition device when a frequency of an utterance type exceeds a threshold. The computer readable storage medium includes instructions that, when executed by the processor, cause the processor to determine a frequency of occurrence of an utterance type. The computer readable storage medium includes instructions, that when executed by the processor, cause the processor to compare the frequency of occurrence of the utterance type to a threshold. The computer readable storage medium also includes instructions that, when executed by the processor, cause the processor to tune a speech recognition device to recognize the utterance type with improved accuracy when the frequency of occurrence of the utterance type exceeds the threshold.

From a high level, one technique for providing targeted tuning of a speech-enabled system may include deploying a speech recognition module to interpret a plurality of utterance types. The technique may also include accessing information representing a collection of recorded utterances and an indication of how each of the recorded utterances was interpreted by the speech recognition module. The assigned interpretations may be compared to accurate interpretations, and a separate accuracy value may be determined for each of the plurality of utterance types. With some implementations, if the accuracy value for a given type of utterance is too low, a selection of utterances having the given type may be used to tune the speech recognition module.

In effect, a deployed speech recognition system may be tuned to better recognize the specific words and/or phrases that give the system difficulties. Similarly, if a deployed system has an acceptable recognition rate for certain utterances, those utterances may be exempted from additional tuning—helping to protect those utterances that enjoy an acceptable recognition rate from inadvertent recognition rate degradation.

Targeting the tuning efforts on problematic utterances may help reduce system-tuning costs. Moreover, the effectiveness of the targeted tuning approach may prove easier to quantify and/or predict—allowing a system administrator to produce recognizable improvements in the deployed system's overall recognition rate by focusing on specific areas of concern.

FIG. 1 presents a flow diagram for providing targeted speech solution tuning in accordance with the teachings of the present disclosure. A technique 10 of FIG. 1 may begin with designing a speech module as indicated at 12. The process of designing the speech module may include, for example, making decisions as to whether the system to be deployed will be speaker-dependent, speaker-independent, capable of recognizing words and/or phrases, designed to recognize a broad range of utterance types, a limited range of utterance types, etc.

In one embodiment, a speech recognition system to be deployed may be designed to be speaker-independent and to recognize utterance types that include several different action requests. Depending upon implementation detail, an action request may be a single word, a phrase, a sentence, etc. In one embodiment, an action request may be an Action-Object request, that may include a statement indicating an action to be taken and an object related to that action. For example, a bill-paying request includes a “Pay” action coupled with a “Bill” object. Other Action-Object requests may include, for example, inquire balance, change service, acquire service, cancel service, inquire bill, inquire account, schedule payment, and reconnect service.

At 14, utterance types to be recognized may be selected, and the speech module may be initially trained at 16. In a speaker-independent system, thousands of speech samples from many people may be considered in an effort to develop a profile for expected utterances. The profile may represent, for example, a derived “average” caller profile. The samples may, for example, be collected from actual deployed speech applications and/or purchased as pre-recorded samples of people uttering the expected phrases in a phonetically balanced American English or other appropriate language/dialect.

At 18, the speech module may be deployed into a live environment. The environment may be, for example, a call center application. At 20, the speech module may receive an utterance. An incoming signal may represent the utterance and may be digitized for further manipulation. In practice, the speech module may digitize the incoming speech signal and calculate utterance parameters.

At 22, the system may compare the utterance parameters to a “library” of known and/or expected phrases and attempt to find the best match—associating an assigned interpretation to the utterance. Depending upon earlier design considerations, the system may, for example, perform “whole word” recognition and/or sub-word recognition like “phonetic recognition.” In some cases, the system may or may not be capable of finding a match and/or assigning an interpretation. If an interpretation is assigned, the assigned interpretation may or may not be accurate.

At 24, information associated with a call may be maintained. The information may include, for example, a recording of a received utterance, an indication of whether an interpretation was made, an indication of what interpretation was made, an utterance receipt time, an indication of whether the assigned interpretation was accurate, etc. In practice, an utterance recording may be saved as a discrete audio file, having a format such as a WAV format, an MP3 format, an AU format, or a MIDI format.

At 26, the deployed system, the speech module, and/or some other system or individual may consider a previously received utterance and independently assign an “appropriate” interpretation to the utterance. The appropriate interpretation may be compared against the assigned interpretation at 28 to determine how well the speech module is operating.

In some embodiments, an independent accuracy value may be calculated for at least one utterance type at 30. The independent accuracy value may effectively indicate how well a speech module is “recognizing” a given utterance type. The accuracy value may be based on a single criteria or a combination of criteria such as recognition rates, hits, misses, etc., for a specific utterance type. However determined, it may become apparent that a speech-enabled system more accurately responds to a first type of utterance and has a more difficult time with a second type of utterance. For example, a system may recognize an action like “pay bill” with an acceptable level of accuracy and may not recognize an action like “transfer to agent” with an acceptable level of accuracy. As such, an administrator and/or tuning application may elect to apply targeted tuning to the speech system to improve recognition of the second type of utterance.

One example methodology for calculating an accuracy value could include, for example, calculating a hit rate value and a false alarm value for a given utterance type. In practice, the accuracy value may include or represent one or more of these and/or other values. The methodology may also include determining a frequency value for the given utterance type. An administrator may want to know, for example, how “important” an utterance type is. If an utterance type represents less than one percent of the received utterances, an administrator may determine that the utterance type does not warrant additional tuning. The importance threshold may be a predefined value and/or importance threshold level decisions may be made on a more ad hoc basis.

Similarly, an administrator may set a threshold value for an accuracy value, a hit rate value, a false alarm value, etc. Again, the threshold values may be pre-set or adjusted in an ad hoc manner. As mentioned above, an assigned accuracy value may be compared at 32 against a threshold value to determine if a system needs tuning. In accordance with one aspect of the present disclosure, a system administrator and/or a tuner may determine that a specific utterance type recognition rate is too low and elect to use a tuning application at 34 to improve the system recognition rate. Operationally, the tuning application may initiate the accessing of interpretive information that represents a received utterance and an assigned interpretation. For example, a given system may maintain a historical record of its own performance. The record may include, for example, recordings of received utterances and system assigned interpretations for each of the received utterances.

A given tuning application may access an appropriate interpretation for each of the received utterances. The appropriate interpretation may represent a more accurate interpretation of an utterance and may be generated by the tuning application and/or by an entity separate from the tuning application. The application may then begin targeted tuning, which may involve, for example, feeding a collection of one type of utterance into a learning module. In one embodiment, the process of feeding the learning module may include playing one or more files that represent recordings of an utterance type while also inputting an appropriate interpretation for the recordings.

At 36, improving recognition of one type of utterance may occur without degrading recognition of other types of utterances. This objective may be facilitated, for example, by attempting to avoid the feeding of non-targeted utterance types into the learning module. At 38, operation of the speech module may be continued, and a future date may be selected for calculating the effectiveness of the targeted tuning. The technique 10 may then progress to stop at 40.

The various acts of the technique 10 may be amended, altered, added to, removed, looped, etc. without departing from the teachings. Moreover, a single entity and/or a combination of entities may perform acts of the technique 10. For example, some of the acts may be performed in connection with an automated call router, a voice activated services platform, a call center, and/or some other operational environment.

FIG. 2 shows one embodiment of a speech-enabled system 46 that incorporates teachings of the present disclosure. In practice, a communication network 48, which may be a Public Switched Telephone Network (PSTN), a cable network, an Internet, an intranet, an extranet, or some other network capable of carrying voice traffic, may be communicatively coupled to a speech system 50. A caller from a location, such as location 52, 54, and/or 56, may place a call to the speech system 50 in an effort to receive, for example, information and/or some form of customer service.

A caller may use a communication device, such as device 58, 60, or 62 to link to a node 64 of network 48. The devices 58, 60, and 62 may be, for example, Plain Old Telephone Service (POTS) telephones, voice over IP telephones, computers, cellular telephones, wireless devices, and/or some other device capable of initiating the communication of information via a network.

Depending upon the architecture of the network 48, incoming communications may be multiplexed, converted from a circuit switched communication to a packet switched communication, converted from text to speech, and/or other types of call modifications at an interface 66 before the communication is passed on to the system 50.

As depicted, the system 50 may include a computing platform 68 and a repository 70 storing a sample of utterances received by the system 50. In practice, the platform 68 may perform speech recognition functions. The platform 68 may receive a verbal communication via the network 48 and process the communication in an effort to properly interpret the communication. The communication itself, as well as an assigned interpretation may be captured and saved in the repository 70. Additional information may also be stored in the repository 70. Additional information may be call-related and may include information such as call time, call duration, calling party number, caller language, etc.

In some cases, the platform 68 may assist in interpreting an utterance as a request to speak with an agent. In such a situation, the platform 68 may direct a component of the system 50 to route a caller to a help desk operator at a call center 72. The system 50 may take several forms. For example, the system 50 may be an integrated solution—including multiple features and capabilities in a single device, having a common housing. The system 50 may also take on a more decentralized architecture—where devices and functions are located remote from one another. An example of a relatively centralized system is depicted in FIG. 3.

FIG. 3 presents a high-level block diagram of a speech-enabled system 80 incorporating a training tool subsystem 82 in accordance with the teachings of the present disclosure. In operation of the speech-enabled system 80, an utterance may be received via a Telephone User Interface (TUI) 84. The utterance may be passed to a speech module 86, that may act as a speech recognition engine and assign an utterance type to the utterance. The speech module 86 may also include logic that makes a call routing and/or a call response decision based at least partially upon the assigned utterance type. Effectuating the decision of the speech module 86 may be facilitated in some cases by an interface 88.

In practice, a recording of the utterance and an assigned utterance type for the call may be communicated via an interface 90 to a repository 92. The recording, assigned utterance type, and other call related information may be stored in a table 94 or other structured and searchable information store.

In some embodiments, an accuracy engine 96 may periodically query the repository 92 for information maintained in the table 94. The accuracy engine 96 may use retrieved information to determine if an assigned utterance type for a given captured utterance represents an accurate interpretation of the given captured utterance. Information representing the accuracy engine 96's analysis may be transferred to a targeting engine 98. The targeting engine 98 may use the analysis to help determine an accuracy level of the system 80 in identifying a first type of utterance and another accuracy level of the system 80 in identifying a second type of utterance. The targeting engine 98 may also include logic that compares a calculated accuracy value for one or more utterance types against a threshold or acceptable accuracy level. If an utterance type suffers from an unacceptably low accuracy value, the targeting engine 98 may output an indicator informing the subsystem 82 of a need to train the system 80 on that particular utterance type.

In some embodiments, a system, such as the system 80 may include an integrated tuning engine 100. The tuning engine 100 may recognize the indicator output by the targeting engine 98, and begin tuning the system 80 to better recognize the utterance type that is causing the system 80 difficulties. In practice, the tuning engine 100 may feed the speech module 86 with a collection of utterances having a first type if the first type accuracy level is too low. The collection of utterances may, in some embodiments, include actual captured utterances stored in the repository 92. In some embodiments, the tuning engine 100 may take the necessary steps to avoid feeding other utterance types to the speech module 86.

Though the various engines and components of the system 80 and the subsystem 82 are depicted as independent blocks, many of the features could be combined and/or further separated. In some embodiments, one or more of the depicted components may be embodied in software that executes on a computing platform. For example, a computer-readable medium may include a set of instructions embodying the accuracy engine, the targeting engine, and the tuning engine. Moreover, one or more aspects of the system 80 may be associated with an automated call router, a voice activated services platform, a call center, and/or some other operational computing system that interacts with a caller.

The above-disclosed subject matter is to be considered illustrative, and not restrictive, and the appended claims are intended to cover all such modifications, enhancements, and other embodiments that fall within the scope of the present invention. 

What is claimed is:
 1. A method comprising: detecting, at a computing device comprising a processor, a frequency of occurrence of a particular type of utterance; and determining, at the computing device, whether to tune a speech recognition system with respect to the particular type of utterance based on the frequency.
 2. The method of claim 1, wherein determining whether to tune the speech recognition system with respect to the particular type of utterance is further based on an accuracy value associated with the particular type of utterance.
 3. The method of claim 2, wherein the accuracy value is based on a recognition rate, a number of hits, a number of misses, or a combination thereof associated with the particular type of utterance.
 4. The method of claim 3, further comprising determining the accuracy value by comparing an independently assigned interpretation of each utterance of a group of received utterances to an interpretation assigned to the utterance by the speech recognition system.
 5. The method of claim 1, further comprising maintaining a historical performance record.
 6. The method of claim 1, wherein the particular type of utterance is an action request.
 7. The method of claim 6, wherein the action request corresponds to an action object request that indicates an action and an object related to the action.
 8. The method of claim 1, wherein the speech recognition system is coupled to a telephone network, a cable network, an Internet, an intranet, an extranet, or a combination thereof.
 9. The method of claim 1, wherein the speech recognition system digitizes an incoming speech signal and calculates utterance parameters.
 10. The method of claim 9, wherein the speech recognition system compares the utterance parameters to a library of phrases to identify a match.
 11. The method of claim 1, wherein tuning the speech recognition system includes inputting a collection of utterances of the particular type of utterance into a learning module of the speech recognition system.
 12. The method of claim 11, wherein inputting the collection of utterances includes playing one or more files that represent recordings of the particular type of utterance.
 13. A speech recognition system, comprising: a processor; and a tuning engine comprising instructions that, when executed by the processor, cause the processor to perform operations including determining whether to tune a speech module with respect to a particular type of utterance based on a frequency of occurrence of the particular type of utterance.
 14. The speech recognition system of claim 13, wherein determining whether to tune the speech module with respect to the particular type of utterance is further based on an accuracy value associated with the particular type of utterance.
 15. The speech recognition system of claim 14, wherein determining whether to tune the speech module includes comparing the frequency to a first threshold and comparing the accuracy value to a second threshold.
 16. The speech recognition system of claim 15, further comprising a targeting engine including instructions that, when executed by the processor, cause the processor to perform operations including: determining the frequency of occurrence of the particular type of utterance; and determining that the frequency of occurrence of the particular type of utterance satisfies the first threshold.
 17. The speech recognition system of claim 14, further comprising an accuracy engine including instructions that, when executed by the processor, cause the processor to perform operations including determining the accuracy value.
 18. The speech recognition system of claim 13, further comprising a repository of recorded utterances.
 19. A computer readable storage device comprising instructions that, when executed by a processor, cause the processor to perform operations comprising: detecting a frequency of occurrence of a particular type of utterance; and determining whether to tune a speech recognition system with respect to the particular type of utterance based on the frequency.
 20. The computer readable storage device of claim 19, wherein determining whether to tune the speech recognition system is further based on an accuracy value associated with the particular type of utterance, wherein the accuracy value is determined by: calculating a hit rate associated with the particular type of utterance; calculating a false alarm value associated with the particular type of utterance; and maintaining a record of performance of the speech recognition system. 